package com.ruoyi.system.service.impl;

import java.util.List;
import java.util.Objects;

import com.ruoyi.system.domain.inform.Inform;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.InformMapper;

import com.ruoyi.system.service.IInformService;

/**
 * 易告知管理Service业务层处理
 *
 * @author ruoyi
 * @date 2023-04-07
 */
@Service
public class InformServiceImpl implements IInformService {
    @Autowired
    private InformMapper informMapper;

    /**
     * 查询易告知管理
     *
     * @param informId 易告知管理主键
     * @return 易告知管理
     */
    @Override
    public Inform selectInformByInformId(Integer informId) {
        return informMapper.selectInformByInformId(informId);
    }

    /**
     * 查询易告知管理列表
     *
     * @param inform 易告知管理
     * @return 易告知管理
     */
    @Override
    public List<Inform> selectInformList(Inform inform) {
        return informMapper.selectInformList(inform);
    }

    /**
     * 新增易告知管理
     *
     * @param inform 易告知管理
     * @return 结果
     */
    @Override
    public int insertInform(Inform inform) {
        Inform name = informMapper.findName(inform.getM_id());
        if (Objects.isNull(name))
            return informMapper.insertInform(inform);
        else
            return 0;
    }

    /**
     * 修改易告知管理
     *
     * @param inform 易告知管理
     * @return 结果
     */
    @Override
    public int updateInform(Inform inform) {
        return informMapper.updateInform(inform);
    }

    /**
     * 批量删除易告知管理
     *
     * @param informIds 需要删除的易告知管理主键
     * @return 结果
     */
    @Override
    @EventListener
    public int deleteInformByInformIds(Integer[] informIds) {
        for (int i = 0; i < informIds.length; i++) {
            Inform inform = informMapper.selectInformByInformId(informIds[i]);
            if (inform.getInformId() == 1) {
                return 0;
            }
        }
        return informMapper.deleteInformByInformIds(informIds);
    }

    /**
     * 删除易告知管理信息
     *
     * @param informId 易告知管理主键
     * @return 结果
     */
    @Override
    public int deleteInformByInformId(Integer informId) {
        return informMapper.deleteInformByInformId(informId);
    }

    @Override
    public void updateInformTwo(Inform inform) {
        informMapper.updateInformTwo(inform);
    }


    /**
     * 查看是否有重复的值
     */
   /* @Override
    public Inform findName(String names) {
        return informMapper.findName(names);
    }*/


}
